home *** CD-ROM | disk | FTP | other *** search
/ BBS in a Box 7 / BBS in a Box - Macintosh - Volume VII (BBS in a Box) (January 1993).iso / Files / Hyper / Me-Mz / MH Checking & Savings v2.4d.cpt / Checking & Savings Demo2.4 / background_2643.txt < prev    next >
Text File  |  1988-02-27  |  57KB  |  2,114 lines

  1. -- background: 2643 from stack: in.4
  2. -- bmap block id: 2285
  3. -- flags: 4000
  4. -- background id: 0
  5. -- name: Income
  6. ----- HyperTalk script -----
  7. on copyright
  8.   -- THESE SCRIPTS ARE COPYRIGHTED BY MAC HELP COMPANY
  9.   -- CONTACT AUTHOR FOR PERMISSION TO USE THESE SCRIPTS
  10. end copyright
  11.  
  12. on openbackground
  13.   Global GivingDate
  14.   if GivingDate is empty then put the long date into GivingDate
  15. end openbackground
  16.  
  17. on opencard
  18.   Global RegMessage, DoMessage, VersionMessage
  19.  
  20.   put card field "Sub Accounts" of card "a" of background "a" into background field "Sub Accounts"
  21.   put "Miscellaneous" into background field ID 91
  22.  
  23.   if DoMessage is not False then
  24.     play boing a
  25.     answer VersionMessage & "See where to Register or Continue?" with "Continue" or "See"
  26.     if it is "See" then answer RegMessage with "Good Deal"
  27.   end if
  28. end opencard
  29.  
  30. on continueD
  31.   global LName, ThisButton, donation, Givingdate, shortgivingdate
  32.   Global NextLine
  33.   put ThisButton into word 6 of line NextLine of background field "Record of Giving"
  34.   push card
  35.   set numberformat to 0.00
  36.   go to card ShortGivingDate of background "Daily1"
  37.   add donation to background field ThisButton
  38.   if ThisButton is "General Fund" then
  39.     add donation to background field "General Income"
  40.   else
  41.     add donation to background field "Designated Income"
  42.   end if
  43.   go to this card
  44.   pop card
  45.   put false into flag
  46.   repeat until flag
  47.     ask "Enter name of Donor?" with LName
  48.     if it is "" then exit continueD
  49.     if it is LName then
  50.       put True into Flag
  51.     else
  52.       set loc of message box to 20,-50
  53.       put "Find " & NumToChar(34) & it & NumToChar(34) into message box
  54.       hide message box
  55.       set loc of message box to 20,300
  56.       do message box
  57.       put background field "Last Name" into Temp
  58.       answer "Donor's Last Name:  " & Temp with "Cancel" or "Look Again" or "Yes"
  59.       if it is "Cancel" then exit continueD
  60.       if it is "Yes" then put true into flag
  61.       if it is "No" then put false into flag
  62.     end if
  63.   end repeat
  64.   click at the loc of background button "Donation Entry"
  65. end continueD
  66.  
  67.  
  68. on closeCard
  69.   put empty into background field "Sub Accounts"
  70. end CloseCard
  71.  
  72. on ButtonLight
  73.   Global ThisField, ThisLine, ReturnFromSub
  74.  
  75.   put the scroll of background field "Sub Accounts" / the textHeight of background field "Sub Accounts" into HiddenLines
  76.   put the round of HiddenLines into HiddenLines
  77.   put HiddenLines + ThisLine into LineNumber
  78.  
  79.   get line LineNumber of background field "Sub Accounts"
  80.   put it into SubName
  81.  
  82.   If the optionKey is Down then
  83.     put the ID of this card into ReturnFromSub
  84.     go to card SubName
  85.     show background button "Return"
  86.     set hilite of background button "Return" to true
  87.     set hilite of background button "Return" to False
  88.     set hilite of background button "Return" to true
  89.   else
  90.     send "CloseField" to background field "Amount"
  91.     get background field "Amount"
  92.     if it is empty then
  93.       answer "First enter an amount of income!"
  94.       click at the loc of background field "Amount"
  95.       exit "ButtonLight"
  96.     end if
  97.  
  98.     if ThisField > 86 and ThisField < 92 then
  99.       put SubName into background field ID ThisField
  100.       put ThisField+5 into Temp
  101.       if background field ID Temp is empty then
  102.         get background field ID 96
  103.         put it into background field ID temp
  104.         put "0.00" into background field id 96
  105.       end if
  106.     else
  107.       repeat with i = 87 to 91
  108.         if background field ID i is empty then
  109.           put SubName into background field ID i
  110.           if i < 91 then
  111.             put i+5 into temp
  112.             get background field ID 96
  113.             put it into background field ID temp
  114.             put "0.00" into background field id 96
  115.           end if
  116.           exit repeat
  117.         end if
  118.       end repeat
  119.     end if
  120.   end if
  121. end ButtonLight
  122.  
  123. on "CreditSubs"
  124.   Global ShortGivingDate
  125.  
  126.   set numberformat to 0.00
  127.   put the ID of this card into ThisID
  128.  
  129.   repeat with i = 87 to 91
  130.     put background field id i into SubName
  131.     put i+5 into SubAmtID
  132.     get background field id SubAmtID
  133.     put it into Amount
  134.     if Amount is not empty then
  135.       if SubName is not empty then
  136.         put the value of Amount into SubAmt
  137.         go to card SubName of background "Sub Accounts"
  138.  
  139.         put 0 into i
  140.         repeat forever
  141.           add 1 to i
  142.           get line i of background field "Sub Amount2"
  143.           if it is empty then
  144.             put shortGivingDate & "        $ " & SubAmt into line i of background field "Sub Amount2"
  145.             exit repeat
  146.           else
  147.             if word 1 of it is shortGivingDate then
  148.               put word 3 of it into Balance
  149.               add SubAmt to Balance
  150.  
  151.               put shortGivingDate & "        $ " & Balance into line i of background field "Sub Amount2"
  152.               exit repeat
  153.             end if
  154.           end if
  155.         end repeat
  156.  
  157.         add SubAmt to background field "Sub Total2"
  158.         go to ThisID
  159.       end if
  160.     end if
  161.   end repeat
  162. end "CreditSubs"
  163.  
  164. on "ResetFields"
  165.   put empty into background field "Amount"
  166.   put empty into background field id 87
  167.   put empty into background field id 88
  168.   put empty into background field id 89
  169.   put empty into background field id 90
  170.   put "Miscellaneous" into background field id 91
  171.   put empty into background field id 92
  172.   put empty into background field id 93
  173.   put empty into background field id 94
  174.   put empty into background field id 95
  175.   put empty into background field id 96
  176. end "ResetFields"
  177.  
  178.  
  179.  
  180. -- part 25 (button)
  181. -- low flags: 00
  182. -- high flags: 2000
  183. -- rect: left=12 top=38 right=60 bottom=38
  184. -- title width / last selected line: 0
  185. -- icon id / first selected line: 26635 / 26635
  186. -- text alignment: 1
  187. -- font id: 0
  188. -- text size: 12
  189. -- style flags: 0
  190. -- line height: 16
  191. -- part name: Income Entry
  192. ----- HyperTalk script -----
  193. on mouseUp
  194.   Global GivingDate, ShortGivingDate, YTDIncome, ThisButton, LName
  195.   global donation, NextLine, Action, Amount, ExitFlag, DatePhrase
  196.   Global ForSure, LastID, CheckLName
  197.  
  198.   if the optionKey is down then
  199.     put "This button allows you to search for the key name you have" && "entered.  It is more useful than the find button because it will" && "only find the information in the key name field." into String
  200.     put the name of the target into ThisItem
  201.     HelpMsg2 String, ThisItem
  202.     exit mouseUp
  203.   end if
  204.  
  205.   set numberformat to 00.00
  206.  
  207.   put background field "Last Name" into LName
  208.   if CheckLName is empty then
  209.     put LName into CheckLName
  210.   end if
  211.   put False into Flag
  212.   put False into ExitFlag
  213.   put False into ForSure
  214.   set cursor to 4
  215.  
  216.   repeat until Flag
  217.     if ExitFlag is True then
  218.       exit mouseUp
  219.     end if
  220.     if exitFlag is "amount" then
  221.       click at the loc of background field "Amount"
  222.       exit mouseUp
  223.     end if
  224.     if ForSure is False then
  225.       ask "Income Source." with CheckLName
  226.     else
  227.       put False into ForSure
  228.       put LName into it
  229.     end if
  230.  
  231.     if it is empty then -- CHECK IF DATE NEEDS TO BE SET
  232.       exit mouseUp
  233.       put "Do you wish to change the date of this entry from: " into DatePhrase
  234.       put False into ExitFlag
  235.       send "DoDate" to background
  236.       if exitFlag is true then
  237.         exit mouseUp
  238.       end if
  239.     else -- A NAME IS ENTERED
  240.       put it into CheckLName
  241.       --if it is LName then -- IF IT IS THIS NAME
  242.       --set lockscreen to true
  243.       --exit mouseUp
  244.       --else -- LOOK FOR A DIFFERENT NAME FIRST
  245.       set lockscreen to true
  246.       go to next card of this background
  247.       put CheckLName into LName
  248.       put false into ExitFlag
  249.       "CheckLast"
  250.       if exitFlag is "amount" then
  251.         click at the loc of background field "Amount"
  252.         exit mouseUp
  253.       end if
  254.       if exitFlag is "New" then
  255.         set lockscreen to false
  256.         click at the loc of background button "New"
  257.         exit mouseUp
  258.       end if
  259.       --end if
  260.     end if
  261.  
  262.   end repeat
  263.  
  264. end mouseUp
  265.  
  266.  
  267. on "CheckLast"
  268.   Global LName, ExitFlag, ForSure
  269.  
  270.   set loc of message window to 20, -300
  271.   put "Find " & NumToChar(34) & LName & NumToChar(34) & " in field 15" into message box
  272.   hide message box
  273.   set loc of message window to 20, 300
  274.   do message window
  275.  
  276.   put the ID of this card into CheckCardID
  277.   put 0 into Repeated
  278.   repeat forever-- CHECK TO MAKE SURE NO DUPLICATE LAST NAME
  279.  
  280.     if background field "Last Name" contains LName then
  281.       put background field "Last Name" into PossibleLName
  282.       if the ID of this card is CheckCardID then
  283.         add 1 to Repeated
  284.         if Repeated > 1 then
  285.           beep
  286.           "NewName"
  287.           exit repeat
  288.         end if
  289.       end if
  290.       put PossibleLName into Temp
  291.       set lockscreen to false
  292.       play boing a
  293.       put False into never -- **
  294.       put "Amount" into ExitFlag -- **
  295.       exit checkLast -- **
  296.       if Never is True then -- ** CAN REMOVE TO ASK Question
  297.         answer "Is this the income source: " & Temp & "?" with "CANCEL" or "Look Again" or "Yes"
  298.         if it is "Cancel" then
  299.           put true into ExitFlag
  300.           exit repeat
  301.         end if
  302.         if it is "Look Again" then
  303.           set lockscreen to true
  304.           do message window
  305.         end if
  306.         if it is "Yes" then
  307.           put Temp into LName
  308.           put True into ForSure
  309.           put "amount" into ExitFlag
  310.           exit repeat
  311.         end if
  312.       end if
  313.     else
  314.       "NewName"
  315.       exit repeat
  316.     end if
  317.   end repeat
  318. end "CheckLast"
  319.  
  320. on "NewName"
  321.   Global LName, ExitFlag
  322.   beep
  323.   answer "No record of  '" & LName & "'  was found!  " & "Do you wish to create a new record?" with "Yes" or "No"
  324.   if it is "No" then
  325.     put True into ExitFlag
  326.     exit "NewName"
  327.   else
  328.     put "New" into ExitFlag
  329.   end if
  330. end "NewName"
  331.  
  332.  
  333.  
  334. -- part 27 (button)
  335. -- low flags: 00
  336. -- high flags: 2000
  337. -- rect: left=389 top=287 right=328 bottom=428
  338. -- title width / last selected line: 0
  339. -- icon id / first selected line: 9301 / 9301
  340. -- text alignment: 1
  341. -- font id: 0
  342. -- text size: 12
  343. -- style flags: 0
  344. -- line height: 16
  345. -- part name: Preview
  346. ----- HyperTalk script -----
  347. on mouseUp
  348.   visual effect scroll right
  349.   go to previous card of this background
  350. end mouseUp
  351.  
  352.  
  353. -- part 28 (button)
  354. -- low flags: 00
  355. -- high flags: 2000
  356. -- rect: left=425 top=287 right=328 bottom=464
  357. -- title width / last selected line: 0
  358. -- icon id / first selected line: 27009 / 27009
  359. -- text alignment: 1
  360. -- font id: 0
  361. -- text size: 12
  362. -- style flags: 0
  363. -- line height: 16
  364. -- part name: Next
  365. ----- HyperTalk script -----
  366. on mouseUp
  367.   visual effect scroll left
  368.   go to next card of this background
  369. end mouseUp
  370.  
  371.  
  372.  
  373. -- part 29 (button)
  374. -- low flags: 00
  375. -- high flags: 8004
  376. -- rect: left=290 top=288 right=329 bottom=329
  377. -- title width / last selected line: 0
  378. -- icon id / first selected line: 0 / 0
  379. -- text alignment: 1
  380. -- font id: 0
  381. -- text size: 12
  382. -- style flags: 0
  383. -- line height: 16
  384. -- part name: New
  385. ----- HyperTalk script -----
  386. on mouseUp
  387.   set hilite of background button New to true
  388.  
  389.   --answer "Do you wish to make a new card?" with "Yes" or "NO"
  390.   put "yes" into it --Don't even need to ask
  391.  
  392.   if it is "Yes" then
  393.     doMenu New Card
  394.     put the long date into line 1 of background field "Creation Date"
  395.     put the seconds into line 2 of background field "Creation Date"
  396.   end if
  397.   set hilite of background button New to false
  398.   click at the loc of background field "First Names"
  399. end mouseUp
  400.  
  401.  
  402. -- part 30 (button)
  403. -- low flags: 00
  404. -- high flags: A004
  405. -- rect: left=332 top=288 right=329 bottom=371
  406. -- title width / last selected line: 0
  407. -- icon id / first selected line: 0 / 0
  408. -- text alignment: 1
  409. -- font id: 0
  410. -- text size: 12
  411. -- style flags: 0
  412. -- line height: 16
  413. -- part name: Del.
  414. ----- HyperTalk script -----
  415. on mouseUp
  416.   answer "Are you sure you want to delete this Income account?" with "Yes" or "NO"
  417.   if it is "Yes" then
  418.     set lockscreen to true
  419.     doMenu Delete Card
  420.     go to previous card of background "Income"
  421.     play harpsichord a c
  422.     if the number of cards = 1 then
  423.       put the number of this card & " of " & the number of cards into background field "Card Info"
  424.     end if
  425.   end if
  426.   set lockscreen to false
  427. end mouseUp
  428.  
  429.  
  430.  
  431. -- part 31 (button)
  432. -- low flags: 00
  433. -- high flags: 2004
  434. -- rect: left=247 top=288 right=329 bottom=286
  435. -- title width / last selected line: 0
  436. -- icon id / first selected line: 20186 / 20186
  437. -- text alignment: 1
  438. -- font id: 0
  439. -- text size: 12
  440. -- style flags: 0
  441. -- line height: 16
  442. -- part name: Sort
  443. ----- HyperTalk script -----
  444. on mouseUp
  445.   global LastField, LastLine
  446.   if LastLine is 0 then put 1 into LastLine
  447.  
  448.   set lockscreen to true
  449.   push card
  450.  
  451.   put LastField into AskField
  452.   answer "Sort all Income Source cards according to:" with AskField or "Other" or "CANCEL"
  453.   if it is "Cancel" then exit mouseUp
  454.  
  455.   if it is AskField then
  456.     sort by background field AskField
  457.   end if
  458.  
  459.  
  460.   if it is "Other" then
  461.     answer "Sort all Income Source cards according to:" with "As Entered" or "Last Entered" or "CANCEL"
  462.     if it is "Last Entered" then
  463.       sort descending by line 2 of background field "Creation Date"
  464.       go to Last Card
  465.     end if
  466.     if it is "As Entered" then sort by line 2 of background field "Creation Date"
  467.     if it is "Cancel" then exit mouseUp
  468.   end if
  469.  
  470.   pop card
  471.   go to card "Main" of this background
  472.   set lockscreen to false
  473. end mouseUp
  474.  
  475.  
  476.  
  477. -- part 35 (button)
  478. -- low flags: 00
  479. -- high flags: 2004
  480. -- rect: left=117 top=288 right=329 bottom=156
  481. -- title width / last selected line: 0
  482. -- icon id / first selected line: 1007 / 1007
  483. -- text alignment: 1
  484. -- font id: 0
  485. -- text size: 12
  486. -- style flags: 0
  487. -- line height: 16
  488. -- part name: ImageWriter
  489. ----- HyperTalk script -----
  490. on mouseUp
  491.   Global Report, ClearedActivity, LastID
  492.  
  493.   answer "Do these cards need to be sorted before printing?" with "CANCEL" or "No" or "Sort"
  494.   if it is "CANCEL" then exit mouseUp
  495.   if it is "Sort" then click at the loc of background button sort
  496.  
  497.   answer "How would you like to print?" with "Print Report" or "Actual Cards" or "CANCEL"
  498.   if it is "CANCEL" then pass mouseUp
  499.  
  500.   set lockscreen to true
  501.   if it is "Print Report" then
  502.     doMenu "Page Setup..."
  503.     set Lockscreen to True
  504.     doMenu "Print Report..."
  505.   end if
  506.   if it is "Actual Cards" then
  507.     answer "How would you like to print?" with "This client" or "All Clients" or "CANCEL"
  508.     if it = "Cancel" then pass mouseUp
  509.     if it = "This client" then
  510.       open printing
  511.       print this card
  512.     end if
  513.     if it = "All Clients" then
  514.       push card
  515.       set lockscreen to true
  516.       go to last card of this background
  517.       put the number of this card into LastCard
  518.       go to first card of this background
  519.       put the number of this card into FirstCard
  520.       put LastCard-FirstCard+1 into HowMany
  521.       open printing with dialog
  522.       Print HowMany Cards
  523.       close printing
  524.       pop card
  525.     end if
  526.   end if
  527.   close printing
  528.   set lockscreen to false
  529.  
  530. end mouseUp
  531.  
  532.  
  533.  
  534. -- part 37 (field)
  535. -- low flags: 01
  536. -- high flags: 0000
  537. -- rect: left=0 top=0 right=15 bottom=250
  538. -- title width / last selected line: 0
  539. -- icon id / first selected line: 0 / 0
  540. -- text alignment: 0
  541. -- font id: 3
  542. -- text size: 10
  543. -- style flags: 2304
  544. -- line height: 13
  545. -- part name: Creation Date
  546.  
  547.  
  548. -- part 41 (button)
  549. -- low flags: 00
  550. -- high flags: 0000
  551. -- rect: left=35 top=111 right=128 bottom=58
  552. -- title width / last selected line: 0
  553. -- icon id / first selected line: 30696 / 30696
  554. -- text alignment: 1
  555. -- font id: 0
  556. -- text size: 12
  557. -- style flags: 0
  558. -- line height: 16
  559. -- part name: 
  560. ----- HyperTalk script -----
  561. on mouseUp
  562.   get the selection
  563.   if it is empty then get background field "Phone"
  564.   if it is empty then ask "Dial what number?"
  565.   if it is not empty then
  566.     push this card
  567.     visual effect zoom open
  568.     go to stack "Phone"
  569.     dial it
  570.     pop card
  571.   end if
  572. end mouseUp
  573.  
  574.  
  575.  
  576. -- part 47 (button)
  577. -- low flags: 80
  578. -- high flags: A005
  579. -- rect: left=339 top=90 right=110 bottom=490
  580. -- title width / last selected line: 0
  581. -- icon id / first selected line: 0 / 0
  582. -- text alignment: 1
  583. -- font id: 0
  584. -- text size: 12
  585. -- style flags: 0
  586. -- line height: 16
  587. -- part name: Sunday School
  588. ----- HyperTalk script -----
  589. on mouseUp
  590.   Global ThisButton
  591.   put "Sunday School" into ThisButton
  592.   set hilite of background button ThisButton to false
  593.   repeat with i = 47 to 55
  594.     hide background button id i
  595.   end repeat
  596.   hide background field "Blank Pop Card"
  597. end mouseUp
  598.  
  599.  
  600.  
  601. -- part 86 (field)
  602. -- low flags: 01
  603. -- high flags: 4007
  604. -- rect: left=309 top=139 right=268 bottom=498
  605. -- title width / last selected line: 0
  606. -- icon id / first selected line: 0 / 0
  607. -- text alignment: 0
  608. -- font id: 4
  609. -- text size: 9
  610. -- style flags: 0
  611. -- line height: 14
  612. -- part name: Sub Accounts
  613. ----- HyperTalk script -----
  614. on mouseUp
  615.   Global ThisItem, ThisField, ReturnFromSub
  616.   set numberformat to 0
  617.   put the ClickLoc into ThisMouseLoc
  618.   set cursor to 4
  619.  
  620.   --  This script written and copyrighted by:  Christopher C. Hostetter
  621.   --  Mac Help Company, 1800 East Market St., Long Beach, CA  90805
  622.   --  (213) 428-7414
  623.   --  This script may be freely modified and used in other stacks,
  624.   --  but these five credit lines must accompany this script.
  625.  
  626.   put the name of the target into WhatField
  627.   put the rect of whatField into FieldRect
  628.   put item 1 of FieldRect into X   -- Left of Rect
  629.   put item 2 of FieldRect into Y   -- Top of Rect
  630.   put item 3 of FieldRect into XX  -- Right of Rect
  631.   put item 4 of FieldRect into YY  -- Bottom of Rect
  632.  
  633.   put (YY - Y) / the textheight of whatField into TotalZones
  634.   put (YY - Y) / TotalZones into ZoneDepth
  635.   put item 2 of ThisMouseLoc - Y into MouseDepth
  636.   put the trunc of ((MouseDepth / ZoneDepth) + 1) into whichZone
  637.  
  638.   put the scroll of whatField / the textHeight of whatField into HiddenLines
  639.   put the round of (whichZone + HiddenLines) into ThisLine
  640.   do "put line" && ThisLine && "of" && whatField && "into ThisItem"
  641.  
  642.  
  643.   --MOVE HILIGHTER BUTTON TO PROPER ZONE
  644.   put Y + ((whichZone-1)*ZoneDepth) into ButY
  645.   put the trunc of ButY into ButY
  646.   put the trunc of (ButY+ZoneDepth) into ButYY
  647.   if the style of whatField is "Scrolling" then
  648.     set the rect of background button "Hilighter" to X+1,ButY+1,XX-17,ButYY-1
  649.   else
  650.     set the rect of background button "Hilighter" to X+1,ButY+1,XX-1,ButYY-1
  651.   end if
  652.   show background button "Hilighter"
  653.   set lockscreen to true
  654.  
  655.  
  656.   -- Use information from ThisItem in the sub fields
  657.   put ThisItem into SubName
  658.  
  659.   if the ShiftKey is down then
  660.     Hide background button "Hilighter"
  661.     put the ID of this card into ReturnFromSub
  662.     go to card SubName
  663.     show background button "return"
  664.     set hilite of background button "Return" to True
  665.     set hilite of background button "Return" to False
  666.     set hilite of background button "Return" to True
  667.     exit mouseUp
  668.   end if
  669.  
  670.  
  671.   set numberFormat to 0.00
  672.   if background field "Amount" is empty then
  673.     Hide background button "Hilighter"
  674.     answer "First enter an amount of income!"
  675.     click at the loc of background field "Amount"
  676.     exit "mouseUp"
  677.   end if
  678.   repeat with i = 87 to 91
  679.     if background field ID i is empty then
  680.       put i into ThisField
  681.       put SubName into background field ID i
  682.       if i < 91 then
  683.         put i+5 into temp
  684.         if background field ID Temp is empty then
  685.           put temp into SubAmtID
  686.           get background field ID 96
  687.           put it into background field ID temp
  688.           put "0.00" into background field id 96
  689.         end if
  690.       end if
  691.       exit repeat
  692.     end if
  693.   end repeat
  694.  
  695.  
  696.   Hide background button "Hilighter"
  697.   set lockscreen to false
  698.   put ThisField+5 into Temp
  699.   if Temp > 86 then
  700.     click at the loc of background field ID Temp
  701.     click at the loc of background field ID Temp
  702.   end if
  703.  
  704. end mouseUp
  705.  
  706.  
  707. -- part 87 (field)
  708. -- low flags: 00
  709. -- high flags: 0002
  710. -- rect: left=12 top=202 right=216 bottom=149
  711. -- title width / last selected line: 0
  712. -- icon id / first selected line: 0 / 0
  713. -- text alignment: 0
  714. -- font id: 3
  715. -- text size: 9
  716. -- style flags: 0
  717. -- line height: 12
  718. -- part name: Sub1
  719. ----- HyperTalk script -----
  720. on openfield
  721.   global thisField
  722.   put 87 into thisField
  723. end openfield
  724.  
  725. on closefield
  726.   Global ThisField
  727.  
  728.   put False into Flag
  729.   get background field id ThisField
  730.   put it into ThisString
  731.   find it in background field "Sub Accounts"
  732.   put 0 into Test
  733.   put 0 into Total
  734.   put 0 into LineNumber
  735.  
  736.   repeat until Flag
  737.     add 1 to LineNumber
  738.     put length of line LineNumber of background field "Sub Accounts" into Len
  739.     add 1 to Len
  740.     put Len + Total into Total
  741.     put offset (it, background field "Sub Accounts") into ThisOffset
  742.     if ThisOffset < Total then
  743.       --ask "Is this the line? " with LineNumber
  744.       get line LineNumber of background field "Sub Accounts"
  745.       if it is ThisString then
  746.         exit CloseField
  747.       else
  748.         ask "Do you mean..." with it
  749.         if it is "" then
  750.           beep
  751.           click at the loc of background field id ThisField
  752.           exit closeField
  753.         else
  754.           put it into background field id ThisField
  755.           put True into Flag
  756.         end if
  757.       end if
  758.     end if
  759.   end repeat
  760.  
  761. end closefield
  762.  
  763.  
  764. -- part 88 (field)
  765. -- low flags: 00
  766. -- high flags: 0002
  767. -- rect: left=12 top=215 right=229 bottom=149
  768. -- title width / last selected line: 0
  769. -- icon id / first selected line: 0 / 0
  770. -- text alignment: 0
  771. -- font id: 3
  772. -- text size: 9
  773. -- style flags: 0
  774. -- line height: 12
  775. -- part name: Sub2
  776. ----- HyperTalk script -----
  777. on openfield
  778.   global thisField
  779.   put 88 into thisField
  780. end openfield
  781.  
  782. on closefield
  783.   Global ThisField
  784.  
  785.   put False into Flag
  786.   get background field id ThisField
  787.   put it into ThisString
  788.   find it in background field "Sub Accounts"
  789.   put 0 into Test
  790.   put 0 into Total
  791.   put 0 into LineNumber
  792.  
  793.   repeat until Flag
  794.     add 1 to LineNumber
  795.     put length of line LineNumber of background field "Sub Accounts" into Len
  796.     add 1 to Len
  797.     put Len + Total into Total
  798.     put offset (it, background field "Sub Accounts") into ThisOffset
  799.     if ThisOffset < Total then
  800.       --ask "Is this the line? " with LineNumber
  801.       get line LineNumber of background field "Sub Accounts"
  802.       if it is ThisString then
  803.         exit CloseField
  804.       else
  805.         ask "Do you mean..." with it
  806.         if it is "" then
  807.           beep
  808.           click at the loc of background field id ThisField
  809.           exit closeField
  810.         else
  811.           put it into background field id ThisField
  812.           put True into Flag
  813.         end if
  814.       end if
  815.     end if
  816.   end repeat
  817.  
  818. end closefield
  819.  
  820.  
  821. -- part 89 (field)
  822. -- low flags: 00
  823. -- high flags: 0002
  824. -- rect: left=12 top=228 right=242 bottom=149
  825. -- title width / last selected line: 0
  826. -- icon id / first selected line: 0 / 0
  827. -- text alignment: 0
  828. -- font id: 3
  829. -- text size: 9
  830. -- style flags: 0
  831. -- line height: 12
  832. -- part name: Sub3
  833. ----- HyperTalk script -----
  834. on openfield
  835.   global thisField
  836.   put 89 into thisField
  837. end openfield
  838.  
  839. on closefield
  840.   Global ThisField
  841.  
  842.   put False into Flag
  843.   get background field id ThisField
  844.   put it into ThisString
  845.   find it in background field "Sub Accounts"
  846.   put 0 into Test
  847.   put 0 into Total
  848.   put 0 into LineNumber
  849.  
  850.   repeat until Flag
  851.     add 1 to LineNumber
  852.     put length of line LineNumber of background field "Sub Accounts" into Len
  853.     add 1 to Len
  854.     put Len + Total into Total
  855.     put offset (it, background field "Sub Accounts") into ThisOffset
  856.     if ThisOffset < Total then
  857.       --ask "Is this the line? " with LineNumber
  858.       get line LineNumber of background field "Sub Accounts"
  859.       if it is ThisString then
  860.         exit CloseField
  861.       else
  862.         ask "Do you mean..." with it
  863.         if it is "" then
  864.           beep
  865.           click at the loc of background field id ThisField
  866.           exit closeField
  867.         else
  868.           put it into background field id ThisField
  869.           put True into Flag
  870.         end if
  871.       end if
  872.     end if
  873.   end repeat
  874.  
  875. end closefield
  876.  
  877.  
  878. -- part 90 (field)
  879. -- low flags: 00
  880. -- high flags: 0002
  881. -- rect: left=12 top=241 right=255 bottom=149
  882. -- title width / last selected line: 0
  883. -- icon id / first selected line: 0 / 0
  884. -- text alignment: 0
  885. -- font id: 3
  886. -- text size: 9
  887. -- style flags: 0
  888. -- line height: 12
  889. -- part name: Sub4
  890. ----- HyperTalk script -----
  891. on openfield
  892.   global thisField
  893.   put 90 into thisField
  894. end openfield
  895.  
  896. on closefield
  897.   Global ThisField
  898.  
  899.   put False into Flag
  900.   get background field id ThisField
  901.   put it into ThisString
  902.   find it in background field "Sub Accounts"
  903.   put 0 into Test
  904.   put 0 into Total
  905.   put 0 into LineNumber
  906.  
  907.   repeat until Flag
  908.     add 1 to LineNumber
  909.     put length of line LineNumber of background field "Sub Accounts" into Len
  910.     add 1 to Len
  911.     put Len + Total into Total
  912.     put offset (it, background field "Sub Accounts") into ThisOffset
  913.     if ThisOffset < Total then
  914.       --ask "Is this the line? " with LineNumber
  915.       get line LineNumber of background field "Sub Accounts"
  916.       if it is ThisString then
  917.         exit CloseField
  918.       else
  919.         ask "Do you mean..." with it
  920.         if it is "" then
  921.           beep
  922.           click at the loc of background field id ThisField
  923.           exit closeField
  924.         else
  925.           put it into background field id ThisField
  926.           put True into Flag
  927.         end if
  928.       end if
  929.     end if
  930.   end repeat
  931.  
  932. end closefield
  933.  
  934.  
  935. -- part 91 (field)
  936. -- low flags: 00
  937. -- high flags: 0002
  938. -- rect: left=12 top=254 right=268 bottom=149
  939. -- title width / last selected line: 0
  940. -- icon id / first selected line: 0 / 0
  941. -- text alignment: 0
  942. -- font id: 3
  943. -- text size: 9
  944. -- style flags: 0
  945. -- line height: 12
  946. -- part name: Sub5
  947. ----- HyperTalk script -----
  948. on openfield
  949.   global thisField
  950.   put 91 into thisField
  951. end openfield
  952.  
  953. on closefield
  954.   Global ThisField
  955.  
  956.   put False into Flag
  957.   get background field id ThisField
  958.   put it into ThisString
  959.   find it in background field "Sub Accounts"
  960.   put 0 into Test
  961.   put 0 into Total
  962.   put 0 into LineNumber
  963.  
  964.   repeat until Flag
  965.     add 1 to LineNumber
  966.     put length of line LineNumber of background field "Sub Accounts" into Len
  967.     add 1 to Len
  968.     put Len + Total into Total
  969.     put offset (it, background field "Sub Accounts") into ThisOffset
  970.     if ThisOffset < Total then
  971.       --ask "Is this the line? " with LineNumber
  972.       get line LineNumber of background field "Sub Accounts"
  973.       if it is ThisString then
  974.         exit CloseField
  975.       else
  976.         ask "Do you mean..." with it
  977.         if it is "" then
  978.           beep
  979.           click at the loc of background field id ThisField
  980.           exit closeField
  981.         else
  982.           put it into background field id ThisField
  983.           put True into Flag
  984.         end if
  985.       end if
  986.     end if
  987.   end repeat
  988.  
  989. end closefield
  990.  
  991.  
  992. -- part 92 (field)
  993. -- low flags: 00
  994. -- high flags: 0002
  995. -- rect: left=148 top=202 right=216 bottom=253
  996. -- title width / last selected line: 0
  997. -- icon id / first selected line: 0 / 0
  998. -- text alignment: 0
  999. -- font id: 3
  1000. -- text size: 9
  1001. -- style flags: 0
  1002. -- line height: 12
  1003. -- part name: Sub Amt
  1004. ----- HyperTalk script -----
  1005. on openField
  1006.   Global ThisField
  1007.   put 92 into ThisField
  1008.   put ThisField-5 into ThisNameField
  1009.  
  1010.   if background field id ThisNameField is empty then
  1011.     click at the loc of background field id ThisNameField
  1012.   end if
  1013. end openField
  1014.  
  1015. on closeField
  1016.   Global Amount
  1017.   set numberformat to 0.00
  1018.   put 92 into FieldNumber
  1019.   put FieldNumber-5 into NameFieldNumber
  1020.  
  1021.   get background field "Amount"
  1022.   put the value of it into Amount
  1023.  
  1024.   get background field ID FieldNumber
  1025.   if it is not empty then
  1026.     if it contains "%" then
  1027.       delete last char of it
  1028.       put the value of it/100*Amount into background field ID FieldNumber
  1029.     end if
  1030.     add 0 to background field id FieldNumber
  1031.   end if
  1032.  
  1033.   put 0 into Total
  1034.   repeat with i = 92 to 95
  1035.     if background field id i is not empty then add the value of background field id i to Total
  1036.   end repeat
  1037.   put Amount - Total into background field id 96
  1038.  
  1039. end closeField
  1040.  
  1041.  
  1042. -- part 93 (field)
  1043. -- low flags: 00
  1044. -- high flags: 0002
  1045. -- rect: left=148 top=215 right=229 bottom=253
  1046. -- title width / last selected line: 0
  1047. -- icon id / first selected line: 0 / 0
  1048. -- text alignment: 0
  1049. -- font id: 3
  1050. -- text size: 9
  1051. -- style flags: 0
  1052. -- line height: 12
  1053. -- part name: Sub Amt
  1054. ----- HyperTalk script -----
  1055. on openField
  1056.   Global ThisField
  1057.   put 93 into ThisField
  1058.   put ThisField-5 into ThisNameField
  1059.  
  1060.   if background field id ThisNameField is empty then
  1061.     click at the loc of background field id ThisNameField
  1062.   end if
  1063. end openField
  1064.  
  1065. on closeField
  1066.   Global Amount
  1067.   set numberformat to 0.00
  1068.   put 93 into FieldNumber
  1069.   put FieldNumber-5 into NameFieldNumber
  1070.  
  1071.   get background field "Amount"
  1072.   put the value of it into Amount
  1073.  
  1074.   get background field ID FieldNumber
  1075.   if it is not empty then
  1076.     if it contains "%" then
  1077.       delete last char of it
  1078.       put the value of it/100*Amount into background field ID FieldNumber
  1079.     end if
  1080.     add 0 to background field id FieldNumber
  1081.   end if
  1082.  
  1083.   put 0 into Total
  1084.   repeat with i = 92 to 95
  1085.     if background field id i is not empty then add the value of background field id i to Total
  1086.   end repeat
  1087.   put Amount - Total into background field id 96
  1088.  
  1089. end closeField
  1090.  
  1091.  
  1092. -- part 94 (field)
  1093. -- low flags: 00
  1094. -- high flags: 0002
  1095. -- rect: left=148 top=228 right=242 bottom=253
  1096. -- title width / last selected line: 0
  1097. -- icon id / first selected line: 0 / 0
  1098. -- text alignment: 0
  1099. -- font id: 3
  1100. -- text size: 9
  1101. -- style flags: 0
  1102. -- line height: 12
  1103. -- part name: Sub Amt
  1104. ----- HyperTalk script -----
  1105. on openField
  1106.   Global ThisField
  1107.   put 94 into ThisField
  1108.   put ThisField-5 into ThisNameField
  1109.  
  1110.   if background field id ThisNameField is empty then
  1111.     click at the loc of background field id ThisNameField
  1112.   end if
  1113. end openField
  1114.  
  1115. on closeField
  1116.   Global Amount
  1117.   set numberformat to 0.00
  1118.   put 94 into FieldNumber
  1119.   put FieldNumber-5 into NameFieldNumber
  1120.  
  1121.   get background field "Amount"
  1122.   put the value of it into Amount
  1123.  
  1124.   get background field ID FieldNumber
  1125.   if it is not empty then
  1126.     if it contains "%" then
  1127.       delete last char of it
  1128.       put the value of it/100*Amount into background field ID FieldNumber
  1129.     end if
  1130.     add 0 to background field id FieldNumber
  1131.   end if
  1132.  
  1133.   put 0 into Total
  1134.   repeat with i = 92 to 95
  1135.     if background field id i is not empty then add the value of background field id i to Total
  1136.   end repeat
  1137.   put Amount - Total into background field id 96
  1138.  
  1139. end closeField
  1140.  
  1141.  
  1142. -- part 95 (field)
  1143. -- low flags: 00
  1144. -- high flags: 0002
  1145. -- rect: left=148 top=241 right=255 bottom=253
  1146. -- title width / last selected line: 0
  1147. -- icon id / first selected line: 0 / 0
  1148. -- text alignment: 0
  1149. -- font id: 3
  1150. -- text size: 9
  1151. -- style flags: 0
  1152. -- line height: 12
  1153. -- part name: Sub Amt
  1154. ----- HyperTalk script -----
  1155. on openField
  1156.   Global ThisField
  1157.   put 95 into ThisField
  1158.   put ThisField-5 into ThisNameField
  1159.  
  1160.   if background field id ThisNameField is empty then
  1161.     click at the loc of background field id ThisNameField
  1162.   end if
  1163. end openField
  1164.  
  1165. on closeField
  1166.   Global Amount
  1167.   set numberformat to 0.00
  1168.   put 95 into FieldNumber
  1169.   put FieldNumber-5 into NameFieldNumber
  1170.  
  1171.   get background field "Amount"
  1172.   put the value of it into Amount
  1173.  
  1174.   get background field ID FieldNumber
  1175.   if it is not empty then
  1176.     if it contains "%" then
  1177.       delete last char of it
  1178.       put the value of it/100*Amount into background field ID FieldNumber
  1179.     end if
  1180.     add 0 to background field id FieldNumber
  1181.   end if
  1182.  
  1183.   put 0 into Total
  1184.   repeat with i = 92 to 95
  1185.     if background field id i is not empty then add the value of background field id i to Total
  1186.   end repeat
  1187.   put Amount - Total into background field id 96
  1188.  
  1189. end closeField
  1190.  
  1191.  
  1192. -- part 96 (field)
  1193. -- low flags: 00
  1194. -- high flags: 0002
  1195. -- rect: left=148 top=254 right=268 bottom=253
  1196. -- title width / last selected line: 0
  1197. -- icon id / first selected line: 0 / 0
  1198. -- text alignment: 0
  1199. -- font id: 3
  1200. -- text size: 9
  1201. -- style flags: 0
  1202. -- line height: 12
  1203. -- part name: Sub Amt5
  1204. ----- HyperTalk script -----
  1205. on mouseLeave
  1206.   Global Amount
  1207.  
  1208.   set numberformat to 0.00
  1209.   get background field "Amount"
  1210.   if it is not empty then
  1211.     if background field id 96 is not empty then add 0 to background field id 96
  1212.     put the value of it into Amount
  1213.     put 0 into Total
  1214.   end if
  1215.  
  1216. end mouseLeave
  1217.  
  1218.  
  1219. -- part 108 (button)
  1220. -- low flags: 00
  1221. -- high flags: A003
  1222. -- rect: left=15 top=280 right=302 bottom=96
  1223. -- title width / last selected line: 0
  1224. -- icon id / first selected line: 0 / 0
  1225. -- text alignment: 1
  1226. -- font id: 0
  1227. -- text size: 12
  1228. -- style flags: 0
  1229. -- line height: 16
  1230. -- part name: Accept
  1231. ----- HyperTalk script -----
  1232. on mouseUp
  1233.   Global LastID, ShortGivingDate, ThisID, Amount, LName, ThisField
  1234.   set numberformat to 0.00
  1235.  
  1236.   if background field "Amount" is empty then
  1237.     answer "You forgot to enter an amount!" with "OK"
  1238.     exit mouseUp
  1239.   end if
  1240.  
  1241.   if background field ID 130 is empty then
  1242.     answer "You forgot to enter the name into the key name field!" with "OK"
  1243.     exit mouseUp
  1244.   end if
  1245.  
  1246.   if ThisField > 91 and ThisField < 97 then
  1247.     send closeField to background field ID ThisField
  1248.   end if
  1249.  
  1250.   if the value of background field "Sub Amt5" is Amount then
  1251.     answer "Are you sure you want all this amount to go into " & "the MISCELLANEOUS Sub Account?" with "No" or "Yes"
  1252.     if it is "No" then exit mouseUp
  1253.   end if
  1254.  
  1255.   put "Updating this income entry...." into line 2 of background field "Form Pop"
  1256.   show background field "Form Pop"
  1257.  
  1258.   set lockscreen to true
  1259.   hide background field "Form Pop"
  1260.   put empty into background field "Form pop"
  1261.   set cursor to 4
  1262.   put background field "Key Field" into KeyField
  1263.   put background field "Memo" into Memo
  1264.   put background field "Last Name" into LName
  1265.   put LName into CheckLName
  1266.   put the ID of this card into LastID
  1267.   set lockscreen to true
  1268.   put KeyField & "-" & shortGivingDate into ThisName
  1269.   go to card ThisName of background "Income Record"
  1270.   if the result is empty then
  1271.     beep
  1272.     get background field "Amount"
  1273.     answer "You have already made at least one entry for this account on this date for $ " & it with "View it" or "Make New" or "CANCEL"
  1274.     if it is "Cancel" then
  1275.       go to LastID
  1276.       set lockscreen to false
  1277.       exit mouseUp
  1278.     end if
  1279.     if it is "View it" then
  1280.       set lockscreen to false
  1281.       exit mouseUp
  1282.     end if
  1283.   end if
  1284.   add Amount to background field "YTD Total"
  1285.   put background field "YTD Total" into YTD
  1286.  
  1287.   go to last card of background "Income Record"
  1288.   doMenu "New Card"
  1289.   put the ID of this Card into NewID
  1290.   put Amount into background field "Amount"
  1291.   put Memo into background field "Memo"
  1292.   set the name of this card to ThisName
  1293.   put LName into background field "Last Name"
  1294.   put KeyField into background field "Key Field"
  1295.   put shortGivingDate into background field "Date"
  1296.   put YTD into background field "YTD Total"
  1297.  
  1298.   repeat with i = 1 to 10
  1299.     put 86+i into ThisID1
  1300.     put 32+i into ThisID2
  1301.     go to LastID
  1302.     put background field ID ThisID1 into subItem
  1303.     go to NewID
  1304.     put subItem into background field ID ThisID2
  1305.   end repeat
  1306.  
  1307.   put 0 into i
  1308.   go to card "Main" of background "Income"
  1309.   repeat forever
  1310.     add 1 to i
  1311.     get line i of card field "Totals"
  1312.     if it is empty then
  1313.       put shortGivingDate & "        $ " & Amount into line i of card field "Totals"
  1314.       exit repeat
  1315.     else
  1316.       if word 1 of it is shortGivingDate then
  1317.         put word 3 of it into Balance
  1318.         add Amount to Balance
  1319.         put shortGivingDate & "        $ " & Balance into line i of card field "Totals"
  1320.         exit repeat
  1321.       end if
  1322.     end if
  1323.   end repeat
  1324.  
  1325.   go to LastID
  1326.   send "CreditSubs" to background
  1327.   send "ResetFields" to background
  1328.   put shortGivingDate & "   " & Amount into background field "Last Entry"
  1329.  
  1330.   --play boing c
  1331.   set lockscreen to false
  1332. end mouseUp
  1333.  
  1334.  
  1335.  
  1336. -- part 109 (button)
  1337. -- low flags: 00
  1338. -- high flags: A003
  1339. -- rect: left=14 top=305 right=327 bottom=95
  1340. -- title width / last selected line: 0
  1341. -- icon id / first selected line: 0 / 0
  1342. -- text alignment: 1
  1343. -- font id: 0
  1344. -- text size: 12
  1345. -- style flags: 0
  1346. -- line height: 16
  1347. -- part name: Clear
  1348. ----- HyperTalk script -----
  1349. on mouseUp
  1350.   Global LimitCards1, LimitCards2
  1351.   set cursor to 4
  1352.   set lockscreen to true
  1353.   send "ResetFields" to background
  1354. end mouseUp
  1355.  
  1356.  
  1357.  
  1358.  
  1359. -- part 112 (field)
  1360. -- low flags: 01
  1361. -- high flags: 4000
  1362. -- rect: left=358 top=20 right=37 bottom=478
  1363. -- title width / last selected line: 0
  1364. -- icon id / first selected line: 0 / 0
  1365. -- text alignment: 0
  1366. -- font id: 3
  1367. -- text size: 12
  1368. -- style flags: 0
  1369. -- line height: 16
  1370. -- part name: YTD Total
  1371. ----- HyperTalk script -----
  1372. on mouseUp2
  1373.   Global Correction
  1374.   set numberformat to 0.00
  1375.  
  1376.   get background field "YTD Total"
  1377.   put it into YTD
  1378.   if Correction is empty then put 0 into Correction
  1379.   add 0 to Correction
  1380.  
  1381.   put YTD + Correction into NewYTD
  1382.  
  1383.   ask "Would you like to modify this YTD Total by:   $" & Correction & "?  This would make the new balance equal to $" & NewYTD & "  Click OK or enter the actual YTD Total." with NewYTD
  1384.   if it is empty then exit mouseUp
  1385.  
  1386.   add 0 to it
  1387.   put it into background field "YTD Total"
  1388.  
  1389. end mouseUp2
  1390.  
  1391.  
  1392. -- part 113 (button)
  1393. -- low flags: 00
  1394. -- high flags: 2000
  1395. -- rect: left=463 top=287 right=328 bottom=502
  1396. -- title width / last selected line: 0
  1397. -- icon id / first selected line: 29114 / 29114
  1398. -- text alignment: 1
  1399. -- font id: 0
  1400. -- text size: 12
  1401. -- style flags: 0
  1402. -- line height: 16
  1403. -- part name: Daily
  1404. ----- HyperTalk script -----
  1405. on mouseUp
  1406.   go to card "Main" of background "Income"
  1407. end mouseUp
  1408.  
  1409.  
  1410. -- part 115 (button)
  1411. -- low flags: 00
  1412. -- high flags: 2006
  1413. -- rect: left=479 top=18 right=36 bottom=501
  1414. -- title width / last selected line: 0
  1415. -- icon id / first selected line: 0 / 0
  1416. -- text alignment: 1
  1417. -- font id: 0
  1418. -- text size: 12
  1419. -- style flags: 0
  1420. -- line height: 16
  1421. -- part name: New Button
  1422. ----- HyperTalk script -----
  1423. on mouseUp
  1424.   global LastField
  1425.   set the hilite of Background button ID 115 to false
  1426.   put "YTD Total" into LastField
  1427. end mouseUp
  1428.  
  1429.  
  1430.  
  1431. -- part 118 (button)
  1432. -- low flags: 00
  1433. -- high flags: 0004
  1434. -- rect: left=204 top=288 right=329 bottom=243
  1435. -- title width / last selected line: 0
  1436. -- icon id / first selected line: 8538 / 8538
  1437. -- text alignment: 1
  1438. -- font id: 0
  1439. -- text size: 12
  1440. -- style flags: 0
  1441. -- line height: 16
  1442. -- part name: SuperFind: Chris Hostetter
  1443. ----- HyperTalk script -----
  1444. on mouseUp
  1445.   -- Super Find
  1446.   -- by Chris Hostetter, Mac Help Co., 1800 East Market Street
  1447.   -- Long Beach, CA  90805, (213) 428-7414
  1448.   -- This script and portions of it may be used and modified
  1449.   -- provided that you also include these credit lines
  1450.  
  1451.   global  LastButton, searchstring, LastField
  1452.  
  1453.   get the selection
  1454.   if it is not empty then put it into SearchString
  1455.  
  1456.   put the name of the target into ThisOne
  1457.   set hilite of thisOne to true
  1458.  
  1459.  
  1460.   put "Chars" into FindType
  1461.   put empty into SearchLimit
  1462.   ask "Find Word(s)?   Hold option key for limits." with SearchString
  1463.   set hilite of thisOne to false
  1464.   if it is empty then
  1465.     exit mouseUp
  1466.   end if
  1467.   put it into SearchString
  1468.  
  1469.   if the OptionKey is down then
  1470.     if LastField is not empty then
  1471.       Answer "Search for information in what field?" with "Cancel" or LastField or "Any Field"
  1472.       if it is "Cancel" Then
  1473.         exit mouseUp
  1474.       end if
  1475.       if it is LastField then
  1476.         put " in background field " & NumToChar(34) & it & NumToChar(34) into SearchLimit
  1477.       else
  1478.         put "" into SearchLimit
  1479.       end if
  1480.     end if
  1481.     Answer "Find " & FindType & " '" & Searchstring & "'" with "Begins With" or "Full Word" or "These Chars"
  1482.     if it is "Begins with" then put empty into FindType
  1483.     if it is "Full Word" then put "Word" into FindType
  1484.     if it is "These Chars" then put "Chars" into FindType
  1485.  
  1486.   end if
  1487.  
  1488.  
  1489.   set loc of message box to 20,-50
  1490.   put "Find" && FindType && Quote & SearchString & Quote & SearchLimit into message box
  1491.   hide message box
  1492.   set loc of message box to 20,300
  1493.   do message box
  1494.   if the result is "Not Found" then
  1495.     beep
  1496.     answer FindType && "'" & SearchString & "'  not found.  Search more?" with "No" or "Yes"
  1497.     if it is "Yes" then click at the loc of the name of the target
  1498.   end if
  1499. end mouseUp
  1500.  
  1501.  
  1502. -- part 119 (button)
  1503. -- low flags: 00
  1504. -- high flags: 2000
  1505. -- rect: left=294 top=38 right=58 bottom=334
  1506. -- title width / last selected line: 0
  1507. -- icon id / first selected line: 22308 / 22308
  1508. -- text alignment: 1
  1509. -- font id: 0
  1510. -- text size: 12
  1511. -- style flags: 0
  1512. -- line height: 16
  1513. -- part name: Super Find
  1514. ----- HyperTalk script -----
  1515. on mouseUp
  1516.   Global LastID, FindString, Report, ClearedActivity, IncomeCardID
  1517.  
  1518.   if the optionKey is down then
  1519.     put "This button will take you directly to the individual" && "transactions for this client.  Keep clicking the arrow to view" && "each transaction for this client." into String
  1520.     put the name of the target into ThisItem
  1521.     HelpMsg2 String, ThisItem
  1522.     exit mouseUp
  1523.   end if
  1524.  
  1525.   put background field "Last Name" into LName
  1526.   put background field "Key Field" into SearchString
  1527.   put background field "Key Field" into FindString
  1528.   if SearchString is empty then
  1529.     go to card "Main" of background "Income Record"
  1530.     exit mouseUp
  1531.   end if
  1532.  
  1533.   put the ID of this card into IncomeCardID
  1534.   put the ID of this card into LastID
  1535.   set lockscreen to true
  1536.   go to card "Main" of background "Income Record"
  1537.  
  1538.   set loc of message box to 20,-50
  1539.   put "Find word" && Quote & SearchString & Quote && "in background field" && Quote & "Key Field" & Quote into message box
  1540.   hide message box
  1541.   set loc of message box to 20,300
  1542.   set lockscreen to true
  1543.   set cursor to 4
  1544.   repeat until background field "Key Field" is FindString
  1545.     put false into ClearedActivity
  1546.     do message box
  1547.     if the result is "Not Found" then
  1548.       if Report is not true then
  1549.         beep
  1550.         answer "Activity for '" & LName & "' must have been cleared already.  Could not find any records."
  1551.       end if
  1552.       put true into ClearedActivity
  1553.       go to LastID
  1554.       exit repeat
  1555.     end if
  1556.   end repeat
  1557.   set lockscreen to false
  1558.  
  1559.  
  1560. end mouseUp
  1561.  
  1562.  
  1563.  
  1564. -- part 129 (field)
  1565. -- low flags: 00
  1566. -- high flags: 4000
  1567. -- rect: left=102 top=23 right=40 bottom=328
  1568. -- title width / last selected line: 0
  1569. -- icon id / first selected line: 0 / 0
  1570. -- text alignment: 0
  1571. -- font id: 128
  1572. -- text size: 12
  1573. -- style flags: 256
  1574. -- line height: 16
  1575. -- part name: First Names
  1576. ----- HyperTalk script -----
  1577. on openfield
  1578.   global LastField
  1579.   put "Last Name" into LastField
  1580. end openfield
  1581.  
  1582. on closeField
  1583.   get background field "Last Name"
  1584.   set the name of this card to it
  1585. end closeField
  1586.  
  1587.  
  1588. -- part 130 (field)
  1589. -- low flags: 00
  1590. -- high flags: 0002
  1591. -- rect: left=102 top=39 right=56 bottom=298
  1592. -- title width / last selected line: 0
  1593. -- icon id / first selected line: 0 / 0
  1594. -- text alignment: 0
  1595. -- font id: 128
  1596. -- text size: 12
  1597. -- style flags: 256
  1598. -- line height: 16
  1599. -- part name: Last Name
  1600. ----- HyperTalk script -----
  1601. on openfield
  1602.   global LastField, LName
  1603.   put "Last Name" into LastField
  1604.   put background field "Last Name" into LName
  1605.  
  1606.   if LName is empty then
  1607.     put "Last 'Empty'" into LastField
  1608.   end if
  1609.  
  1610. end openfield
  1611.  
  1612. on closeField
  1613.   Global LastField, LName
  1614.   set numberFormat to 00000000000
  1615.  
  1616.   put background field "Last Name" into NewLast
  1617.   put random(1000000000) into RandKey
  1618.   add 0 to RandKey
  1619.   put the length of NewLast into TotalChars
  1620.   repeat with i = 1 to TotalChars
  1621.     if last char of NewLast is " " then
  1622.       delete last char of newLast
  1623.     else
  1624.       exit repeat
  1625.     end if
  1626.   end repeat
  1627.   if the length of NewLast is 0 then
  1628.     answer "You must enter something for the key field"
  1629.   end if
  1630.   put NewLast into background field "Last Name"
  1631.   put NewLast & RandKey into NewKey
  1632.  
  1633.   if LastField is "Last 'Empty'" then
  1634.   else
  1635.     answer "Because you are changing the Last Name, " & LName & "'s " & "daily income cards will have to be updated as well." with "Update" or "Cancel"
  1636.     if it is "Cancel" then
  1637.       put LName into background field "Last Name"
  1638.       exit closeField
  1639.     end if
  1640.  
  1641.  
  1642.     set lockscreen to true
  1643.     put background field "Key Field" into SearchString
  1644.     put the ID of this card into ThisID
  1645.     go to card "Main" of background "Income Record"
  1646.  
  1647.     set loc of message box to 20,-50
  1648.     put "Find word" && Quote & SearchString & Quote && "in background field" && Quote & "Key Field" & Quote into message box
  1649.     hide message box
  1650.     set loc of message box to 20,300
  1651.  
  1652.     do message box
  1653.     repeat until the result is "Not Found"
  1654.       do message box
  1655.       if the result is empty then
  1656.         put NewKey into background field "Key field"
  1657.         put NewLast into background field "Last Name"
  1658.         get background field "Date"
  1659.         put NewKey & "-" & it into ThisName
  1660.         set the name of this card to ThisName
  1661.       end if
  1662.     end repeat
  1663.  
  1664.     go to ThisID
  1665.   end if
  1666.  
  1667.   set the name of this card to NewKey
  1668.   put NewLast & RandKey into background field "Key Field"
  1669.   set lockscreen to false
  1670.  
  1671. end closeField
  1672.  
  1673.  
  1674. -- part 131 (field)
  1675. -- low flags: 00
  1676. -- high flags: 4000
  1677. -- rect: left=102 top=62 right=96 bottom=328
  1678. -- title width / last selected line: 0
  1679. -- icon id / first selected line: 0 / 0
  1680. -- text alignment: 0
  1681. -- font id: 128
  1682. -- text size: 12
  1683. -- style flags: 256
  1684. -- line height: 16
  1685. -- part name: Address1
  1686. ----- HyperTalk script -----
  1687. on openfield
  1688.   global LastField
  1689.   put "Address1" into LastField
  1690. end openfield
  1691.  
  1692.  
  1693. -- part 132 (field)
  1694. -- low flags: 00
  1695. -- high flags: 4000
  1696. -- rect: left=102 top=95 right=113 bottom=328
  1697. -- title width / last selected line: 0
  1698. -- icon id / first selected line: 0 / 0
  1699. -- text alignment: 0
  1700. -- font id: 128
  1701. -- text size: 12
  1702. -- style flags: 256
  1703. -- line height: 16
  1704. -- part name: City State Zip
  1705. ----- HyperTalk script -----
  1706. on openfield
  1707.   global LastField
  1708.   put "Address2" into LastField
  1709. end openfield
  1710.  
  1711.  
  1712. -- part 133 (field)
  1713. -- low flags: 00
  1714. -- high flags: 4000
  1715. -- rect: left=102 top=112 right=129 bottom=328
  1716. -- title width / last selected line: 0
  1717. -- icon id / first selected line: 0 / 0
  1718. -- text alignment: 0
  1719. -- font id: 128
  1720. -- text size: 12
  1721. -- style flags: 16640
  1722. -- line height: 16
  1723. -- part name: Phone
  1724. ----- HyperTalk script -----
  1725. on openfield
  1726.   global LastField
  1727.   put "Phone" into LastField
  1728. end openfield
  1729.  
  1730.  
  1731. -- part 135 (field)
  1732. -- low flags: 00
  1733. -- high flags: 0002
  1734. -- rect: left=144 top=148 right=165 bottom=303
  1735. -- title width / last selected line: 0
  1736. -- icon id / first selected line: 0 / 0
  1737. -- text alignment: 0
  1738. -- font id: 3
  1739. -- text size: 12
  1740. -- style flags: 0
  1741. -- line height: 16
  1742. -- part name: Amount
  1743. ----- HyperTalk script -----
  1744. on OpenField
  1745.   Global ThisField
  1746.  
  1747.   put empty into ThisField
  1748. end OpenField
  1749.  
  1750. on CloseField
  1751.   Global Amount, TransName, BeginAmt
  1752.  
  1753.   put Amount into LastAmount
  1754.   set numberformat to 0.00
  1755.   get background field "Amount"
  1756.   if it is not empty then
  1757.     put the value of it into Amount
  1758.     add 0 to Amount
  1759.     put Amount into background field "Amount"
  1760.     put 0 into Total
  1761.     repeat with i = 92 to 95
  1762.       if background field id i is not empty then add the value of background field id i to Total
  1763.     end repeat
  1764.     put Amount - Total into background field ID 96
  1765.   end if
  1766. end CloseField
  1767.  
  1768. on mouseLeave
  1769.   CloseField
  1770. end mouseLeave
  1771.  
  1772.  
  1773. -- part 137 (field)
  1774. -- low flags: 01
  1775. -- high flags: 4000
  1776. -- rect: left=358 top=52 right=66 bottom=478
  1777. -- title width / last selected line: 0
  1778. -- icon id / first selected line: 0 / 0
  1779. -- text alignment: 0
  1780. -- font id: 3
  1781. -- text size: 9
  1782. -- style flags: 0
  1783. -- line height: 12
  1784. -- part name: Last Entry
  1785.  
  1786.  
  1787. -- part 138 (field)
  1788. -- low flags: 80
  1789. -- high flags: 0004
  1790. -- rect: left=0 top=122 right=141 bottom=362
  1791. -- title width / last selected line: 0
  1792. -- icon id / first selected line: 0 / 0
  1793. -- text alignment: 0
  1794. -- font id: 3
  1795. -- text size: 12
  1796. -- style flags: 0
  1797. -- line height: 16
  1798. -- part name: Key Field
  1799.  
  1800.  
  1801. -- part 139 (button)
  1802. -- low flags: 00
  1803. -- high flags: A002
  1804. -- rect: left=64 top=148 right=165 bottom=141
  1805. -- title width / last selected line: 0
  1806. -- icon id / first selected line: 0 / 0
  1807. -- text alignment: 1
  1808. -- font id: 0
  1809. -- text size: 12
  1810. -- style flags: 0
  1811. -- line height: 16
  1812. -- part name: 1/1/88
  1813. ----- HyperTalk script -----
  1814. on MouseUp
  1815.   Global DatePhrase, ExitFlag, ShortGivingDate
  1816.  
  1817.   put "Do you wish to change the date of this entry from: " & "¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬† " into DatePhrase
  1818.   put False into ExitFlag
  1819.   send "DoDate" to background
  1820.   if exitFlag is true then
  1821.     exit mouseUp
  1822.   end if
  1823.  
  1824.   set the name of background button ID 139 to ShortGivingDate
  1825. end mouseUp
  1826.  
  1827.  
  1828. -- part 140 (field)
  1829. -- low flags: 00
  1830. -- high flags: 4000
  1831. -- rect: left=64 top=168 right=197 bottom=303
  1832. -- title width / last selected line: 0
  1833. -- icon id / first selected line: 0 / 0
  1834. -- text alignment: 0
  1835. -- font id: 3
  1836. -- text size: 10
  1837. -- style flags: 0
  1838. -- line height: 13
  1839. -- part name: Memo
  1840.  
  1841.  
  1842. -- part 141 (field)
  1843. -- low flags: 80
  1844. -- high flags: 0004
  1845. -- rect: left=43 top=92 right=285 bottom=465
  1846. -- title width / last selected line: 0
  1847. -- icon id / first selected line: 0 / 0
  1848. -- text alignment: 1
  1849. -- font id: 3
  1850. -- text size: 18
  1851. -- style flags: 256
  1852. -- line height: 24
  1853. -- part name: Form Pop
  1854.  
  1855.  
  1856. -- part 142 (button)
  1857. -- low flags: 80
  1858. -- high flags: 4000
  1859. -- rect: left=310 top=154 right=166 bottom=481
  1860. -- title width / last selected line: 0
  1861. -- icon id / first selected line: 0 / 0
  1862. -- text alignment: 1
  1863. -- font id: 0
  1864. -- text size: 12
  1865. -- style flags: 0
  1866. -- line height: 16
  1867. -- part name: Hilighter
  1868. ----- HyperTalk script -----
  1869. on mouseUp
  1870.   hide background button "Hilighter"
  1871.   click at the loc of background button "Hilighter"
  1872. end mouseUp
  1873.  
  1874.  
  1875.  
  1876. -- part 143 (button)
  1877. -- low flags: 00
  1878. -- high flags: 2004
  1879. -- rect: left=161 top=288 right=329 bottom=200
  1880. -- title width / last selected line: 0
  1881. -- icon id / first selected line: 1004 / 1004
  1882. -- text alignment: 1
  1883. -- font id: 0
  1884. -- text size: 12
  1885. -- style flags: 0
  1886. -- line height: 16
  1887. -- part name: ImageWriter Statement
  1888. ----- HyperTalk script -----
  1889. on mouseUp
  1890.   Global Report, ClearedActivity, LastID
  1891.  
  1892.   if the optionKey is down then
  1893.     put "This will generate full report for clients in your" && "database.  It can be used for a receipt for the clients and" && "it will include the total amount given, plus the individual" && "amounts given and the dates they were given on." into String
  1894.     put the name of the target into ThisItem
  1895.     HelpMsg2 String, ThisItem
  1896.     exit mouseUp
  1897.   end if
  1898.  
  1899.   answer "Do you wish to print a full statement for DataBase clients?" with "Cancel" or "Yes"
  1900.   if it is "Cancel" then exit mouseUp
  1901.  
  1902.   put true into report
  1903.  
  1904.   answer "Generate printed report for All clients or this one only?" with "Cancel" or "This One" or "All"
  1905.   if it is "Cancel" then exit mouseUp
  1906.   put it into doHowMany
  1907.   put the ID of this card into BeganCardID
  1908.  
  1909.   answer "Include Name Field" with "No" or "Yes"
  1910.   put false into ID129Field
  1911.   if it is "Yes" then put true into ID129Field
  1912.  
  1913.   answer "Include Address Field" with "No" or "Yes"
  1914.   put false into ID131Field
  1915.   if it is "Yes" then put true into ID131Field
  1916.  
  1917.   answer "Include City, State, Zip Field" with "No" or "Yes"
  1918.   put false into ID132Field
  1919.   if it is "Yes" then put true into ID132Field
  1920.  
  1921.   answer "Include Phone Field" with "No" or "Yes"
  1922.   put false into ID133Field
  1923.   if it is "Yes" then put true into ID133Field
  1924.  
  1925.   answer "Enter a message / comment header?" with "No" or "Yes"
  1926.   put empty into Comment
  1927.   if it is "Yes" then
  1928.     ask "What is your message or comment Header?"
  1929.     put it into comment
  1930.   end if
  1931.  
  1932.   answer "Include Year To Date Amount Field" with "No" or "Yes"
  1933.   put false into ID112Field
  1934.   if it is "Yes" then put true into ID112Field
  1935.  
  1936.   --answer "Give each client their own printed page on the printout?" --with "Yes" or "No"
  1937.   --if it is "Yes" then
  1938.   --put True into AddBlanks
  1939.   --else
  1940.   put False into AddBlanks
  1941.   --end if
  1942.  
  1943.   if the ID of this card is "Card ID 6137" then
  1944.     go to next card of this background
  1945.   end if
  1946.   put "Please wait - Generating Income Statements.  This will take a while." into line 2 of background field "Form Pop"
  1947.   show background field "Form Pop"
  1948.  
  1949.   put 1 into TotalCards
  1950.   set lockscreen to true
  1951.   hide background field "Form Pop"
  1952.   put empty into background field "Form Pop"
  1953.  
  1954.   if doHowMany is "All" then
  1955.     go to first card of background "Income"
  1956.     put the number of this card into firstCard
  1957.     go to last card of background "Income"
  1958.     put the number of this card into lastCard
  1959.     put LastCard - FirstCard into TotalCards
  1960.     go to card 2 of background "Income"
  1961.   end if
  1962.  
  1963.   repeat with ii = 1 to TotalCards
  1964.     put "Please wait - Generating Income Statements.  This will" && "take a while." into line 2 of background field "Form Pop"
  1965.     put "Retrieving information for" && Background field ID 130 into line 3 of background field "Form Pop"
  1966.     put "Client Number." & ii into line 5 of background field "Form Pop"
  1967.     show background field "Form Pop"
  1968.     set lockscreen to false
  1969.     set lockscreen to true
  1970.     hide background field "Form Pop"
  1971.     put empty into background field "Form Pop"
  1972.  
  1973.     put empty into ReportName
  1974.     if ID129Field is true then
  1975.       put Reportname & background field ID 129 & Return into ReportName
  1976.     end if
  1977.     if ID131Field is true then
  1978.       put Reportname & background field ID 131 & Return into ReportName
  1979.     end if
  1980.     if ID132Field is true then
  1981.       put Reportname & background field ID 132 & Return into ReportName
  1982.     end if
  1983.     if ID133Field is true then
  1984.       put Reportname & background field ID 133 & Return into ReportName
  1985.     end if
  1986.     put Return & ReportName & Comment & Return into ReportName
  1987.     if ID112Field is true then
  1988.       put Reportname & "$ " & background field ID 112 into ReportName
  1989.     end if
  1990.  
  1991.     click at the loc of background button "Super Find"
  1992.     put the ID of this card into ReturnToID
  1993.     set lockscreen to true
  1994.  
  1995.     if ClearedActivity is false then
  1996.       put the ID of this Card into FirstOfSeriesID
  1997.       if background field ID 32 is empty then
  1998.         --beep
  1999.         --answer "Found a record with no Key Name field!"
  2000.         go to ReturnToID
  2001.         exit repeat
  2002.       end if
  2003.  
  2004.       go to last card of background "Donor Reports"
  2005.       doMenu "New Card"
  2006.       put ReportName into line 1 of background field "Name"
  2007.       go to  ReturnToID
  2008.  
  2009.       put 0 into i
  2010.       repeat forever
  2011.         add 1 to i
  2012.         put background field "Date" into ReportDate
  2013.         put background field "Amount" into ReportAmount
  2014.         go to last card of background "Donor Reports"
  2015.         put ReportDate into line i of background field "Date"
  2016.         put ReportAmount into line i of background field "Amount"
  2017.         go to ReturnToID
  2018.  
  2019.         repeat with j = 33 to 37
  2020.           put j+5 into JJ
  2021.           get background field ID JJ
  2022.           if it is not empty then
  2023.             put the value of it into it
  2024.             if it is not 0 then
  2025.               add 1 to i
  2026.               put background field ID J into SubName
  2027.               put background field ID JJ into SubAmt
  2028.               go to last card of background "Donor Reports"
  2029.               put Tab & "¬ª" & SubName & Tab & SubAmt into line i of background field "Amount"
  2030.               put " " into line i of background field "Date"
  2031.               go to ReturnToID
  2032.             end if
  2033.           end if
  2034.         end repeat
  2035.  
  2036.         go to last card of background "Donor Reports"
  2037.         add 1 to i
  2038.         Put " " into line i of background field "Date"
  2039.         Put " " into line i of background field "Amount"
  2040.         add 1 to i
  2041.         Put " " into line i of background field "Date"
  2042.         Put " " into line i of background field "Amount"
  2043.         go to ReturnToID
  2044.  
  2045.         click at the loc of background button "Super Find"
  2046.         put the ID of this card into ReturnToID
  2047.         if the ID of this card is FirstOfSeriesID then
  2048.           if addBlanks then -- go to new page
  2049.             add 1 to i
  2050.             -- 56 is the number of printlines per page in column layout
  2051.             put 56 into PrintLines
  2052.             put i / PrintLines into PageNumber
  2053.             put round(PageNumber) into RoundPageNumber
  2054.             if RoundPageNumber is 0 then put 1 into RoundPageNumber
  2055.             if RoundPageNumber > PageNumber then
  2056.               put (RoundPageNumber * PrintLines) into lastLine
  2057.             else
  2058.               put ((RoundPageNumber * PrintLines) + 1) into LastLine
  2059.             end if
  2060.             go to last card of background "Donor Reports"
  2061.             repeat with k = i to LastLine
  2062.               Put " " into line k of background field "Amount"
  2063.             end repeat
  2064.             Put "-end of listing- " into line LastLine of background field "Amount"
  2065.           end if -- add blanks
  2066.           go to ReturnToID
  2067.           exit repeat
  2068.         end if
  2069.         -- Exit this donor name and find a new one ***
  2070.       end repeat
  2071.  
  2072.     end if
  2073.  
  2074.     set lockscreen to True
  2075.     go to LastID
  2076.     go to next card of background "Income"
  2077.  
  2078.   end repeat
  2079.   put false into report
  2080.  
  2081.   go to first card of background "Donor Reports"
  2082.   doMenu "Delete Card"
  2083.   set lockscreen to true
  2084.   --click at the loc of background button "Print"
  2085.   --go to BeganCardID --end print routine, return to card where called
  2086.   exit mouseUp
  2087.  
  2088.  
  2089.   set lockscreen to false
  2090.  
  2091. end mouseUp
  2092.  
  2093.  
  2094.  
  2095. -- part 144 (field)
  2096. -- low flags: 81
  2097. -- high flags: 2004
  2098. -- rect: left=50 top=45 right=310 bottom=470
  2099. -- title width / last selected line: 0
  2100. -- icon id / first selected line: 0 / 0
  2101. -- text alignment: 1
  2102. -- font id: 3
  2103. -- text size: 14
  2104. -- style flags: 0
  2105. -- line height: 18
  2106. -- part name: Help Message Field
  2107. ----- HyperTalk script -----
  2108. on mouseUp
  2109.   set cursor to 4
  2110.   put the name of the target into thisField
  2111.   do "put empty into" && thisField
  2112.   hide thisField
  2113. end mouseUp
  2114.